/**
 * 上海中赢金融信息服务有限公司
 * Copyright (c) 2016-2026 hmc,Inc.All Rights Reserved.
 */
package com.sys.midware.mail.config;

import com.sys.midware.config.core.ConfigContainer;
import com.sys.midware.config.core.ConfigKey;
import com.sys.midware.logger.Logger;
import com.sys.midware.logger.LoggerFactory;

/**
 * 
 * <b>ClassName：</b> ConfigMongoUtil <br/>
 * <b>Description：</b> 获取配置信息工具类 <br/>
 * <b>@author：</b> mobing <br/>
 * <b>@date：</b> 2015年10月19日 下午2:55:02 <br/>
 * <b>@version: </b> <br/>
 */
public class MailConfigUtil {
    private static final Logger logger = LoggerFactory.getLogger(MailConfigUtil.class);

    /**
     * ConfigContainer instance
     */
    private static ConfigContainer cfg = ConfigContainer.getInstance(ConfigKey.ConfigFile.CONFIG_FILE_ROOT);

    public static MailConfig initConfig() {
        logger.info("开始初始化Mail配置...");
        MailConfig memc = new MailConfig();
        memc.setSmtpHost(cfg.getParamString(ConfigKey.Mail.KEY_MAIL_SMTP_HOST));
        memc.setSmtpPort(cfg.getParamInteger(ConfigKey.Mail.KEY_MAIL_SMTP_PORT)==null?25 :cfg.getParamInteger(ConfigKey.Mail.KEY_MAIL_SMTP_PORT));
        memc.setFromUser(cfg.getParamString(ConfigKey.Mail.KEY_MAIL_FROM_USER));
        memc.setFromPassword(cfg.getParamString(ConfigKey.Mail.KEY_MAIL_FROM_PASSWORD));
        memc.setToUser(cfg.getParamString(ConfigKey.Mail.KEY_MAIL_TO_USER));
        memc.setCcUser(cfg.getParamString(ConfigKey.Mail.KEY_MAIL_CC_USER));
        memc.setAuth(cfg.getParamBoolean(ConfigKey.Mail.KEY_MAIL_ISAUTH) == null ? false
                : cfg.getParamBoolean(ConfigKey.Mail.KEY_MAIL_ISAUTH));
        memc.setDebug(cfg.getParamBoolean(ConfigKey.Mail.KEY_MAIL_ISDEBUG) == null ? false
                : cfg.getParamBoolean(ConfigKey.Mail.KEY_MAIL_ISDEBUG));
        memc.setSSL(cfg.getParamBoolean(ConfigKey.Mail.KEY_MAIL_ISSSL) == null ? false
                : cfg.getParamBoolean(ConfigKey.Mail.KEY_MAIL_ISSSL));
        memc.setSSLPort(cfg.getParamInteger(ConfigKey.Mail.KEY_MAIL_SSL_PORT) == null ? 465
                : cfg.getParamInteger(ConfigKey.Mail.KEY_MAIL_SSL_PORT));

        logger.info("Mail配置初始化完成");
        return memc;
    }

}
